//
// Created by Zhangwj on 2023/9/27.
//

#ifndef COMPILE_TASK2_LVALNODE_H
#define COMPILE_TASK2_LVALNODE_H


#include "SyntaxTreeNode.h"
#include "../Parser.h"

class LValNode : public SyntaxTreeNode {
public:
    // LVal → Ident {'[' Exp ']'}
    std::unique_ptr<IdentNode> Ident;
    std::vector<std::unique_ptr<ExpNode>> Exps;

    static std::unique_ptr<LValNode> LValParser(Parser &parser);
};


#endif //COMPILE_TASK2_LVALNODE_H
